/**
 * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 * $Id$ IVendorServiceLocal.java
 * Universidad de los Andes (Bogotá - Colombia)
 * Departamento de Ingeniería de Sistemas y Computación
 * Licenciado bajo el esquema Academic Free License version 2.1
 *
 * Ejercicio: Muebles los Alpes
 * Autor: Orlando
 * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 */
package com.losalpes.catalogo.servicios;

import com.losalpes.catalogo.entities.Vendedor;
import javax.ejb.Local;

/**
 * Contrato funcional de los servicios para vendedores que se le prestan al catalogo.
 * @author Orlando
 */
@Local
public interface IVendorServicesLocal {

    /**
     * Retorna la lista de todos los vendedores que se encuentran registrados en el sistema.
     * @return list. Lista de todos los vendedores que se encuentran registrados en el sistema.
     */
    public java.util.List<com.losalpes.catalogo.entities.Vendedor> findAll();

    /**
     * Crea una nueva instancia de Vendedor y la retorna.
     * @return vendedor. Nueva instancia de vendedor.
     */
    public Vendedor newVendedor();

    /**
     * Modifica un vendedor dentro de la persistencia del sistema.
     * @return vendedor. Objeto modificado de la instancia de vendedor que se modifico.
     */
    public Vendedor createOrUpdate();

    /**
     * Retorna un vendedor dada su identificación.
     * @param id. Identificador único del vendedor.
     * @return vendedor. Vendedor cuyo identificador corresponde con el parametro.
     */
    public Vendedor findByIdentificacion(java.lang.String id);

    /**
     * Permite eliminar un vendedor de la persistencia del sistema.
     */
    public void delete();

    /**
     * Retorna el vendedor actual.
     * @return vendedor. Vendedor actual.
     */
    public com.losalpes.catalogo.entities.Vendedor getVendedor();

    /**
     * Permite asignar el vendedor actual.
     * @param id. Identificador de nuevo cendedor actual.
     * @return vendedor. Nuevo vendedor actual.
     */
    public void setVendedor(Vendedor vendedor);
}